setprinter a ukonceni aplikace

Otázka od: Sula Milos

21. 10. 2002 17:27

cau nevite jak se spravne prepnout na jinou tiskarnu v delphi ?

  STrPCopy(device,SeSkinComboBox1.Text);
  driver:='WINSPOOL';
  port:='';
  printer.SetPrinter(device,driver,port,0);
  device:='';
  driver:='';
  port:='';
  //zjisti rozliseni
  printer.GetPrinter(device,driver,port,mode1);
  if device='' then exit;
  dm:=GlobalLock(mode1);
  dpiy:=dm.dmYResolution;
  dpix:=dm.dmPrintQuality;
  GlobalUnlock(mode1);
  Globalfree(mode1);

  printer.BeginDoc; //tady to ukonci program po nastaveni SeSkinComboBox1.Text
na jakoukoliv jinou tiskarnu nez je vychozi tiskarna ve windows. Nehlasi to
zadnou chybu jen se proste ukonci


Milos

---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.404 / Virová báze: 228 - datum vydání: 15.10.2002

Odpovedá: Pesek Michal

21. 10. 2002 16:24

Hi,

naplnim ComboBox

  for i := 0 to Printer.Printers.Count - 1 do
    cb_Printer.Items.Add(Printer.Printers.Strings[i]);
  cb_Printer.ItemIndex := Printer.PrinterIndex;

a na udalost OnChange, pripadne i jinam dam toto:

  Printer.PrinterIndex := cb_Printer.ItemIndex;

A dal se o nic nestaram.

S pozdravem
Michal PEPR Pesek
http://www.peprsoft.cz


.. -----Original Message-----
.. From: Sula Milos [mailto:milos.sula@oku-su.cz]

.. cau nevite jak se spravne prepnout na jinou tiskarnu v delphi ?

Odpovedá: Jan Sebelík

22. 10. 2002 6:21

> Odesílatel: Pesek Michal <Michal.Pesek@MNUL.CZ>
> for i := 0 to Printer.Printers.Count - 1 do
> cb_Printer.Items.Add(Printer.Printers.Strings[i]);

Michale, jenom esteticka drobnustka:
cb_Printer.Items.Assign(Printer.Printers);
anebo taky
cb_Printer.Items.Text:=Printer.Printers.Text;

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Odpovedá: Sula Milos

22. 10. 2002 8:06

Ano dekuji, ALE jelikoz zjistuji i DPI tiskarny tak mi toto nefunguje tak jak
ma.

  printer.PrinterIndex:=SeSkinComboBox1.ItemIndex;
  device:='';
  driver:='';
  port:='';
  printer.GetPrinter(device,driver,port,mode1);
  /tady mi to vraci spravne device podle indexu vybrane tiskarny v comboboxu
ALE spatne Thandle mode1 ukazuje totiz stale 600 dpi (dpix,dpiy) coz je
rozliseni defaultni tiskarny a ne tiskarny na kterou jsem se prepnul  
  if device='' then exit;
  dm:=GlobalLock(mode1);
  dpix:=dm.dmYResolution;
  dpiy:=dm.dmPrintQuality;
  GlobalUnlock(mode1);
Milos
-----Original Message-----
From: Jan Sebelík [mailto:honza@haes.cz]
Sent: Tuesday, October 22, 2002 7:03 AM
To: delphi-l@clexpert.cz
Subject: Re: setprinter a ukonceni aplikace


> Odesílatel: Pesek Michal <Michal.Pesek@MNUL.CZ>
> for i := 0 to Printer.Printers.Count - 1 do
> cb_Printer.Items.Add(Printer.Printers.Strings[i]);

Michale, jenom esteticka drobnustka: cb_Printer.Items.Assign(Printer.Printers);
anebo taky
cb_Printer.Items.Text:=Printer.Printers.Text;

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735) =========================================


---
Příchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.404 / Virová báze: 228 - datum vydání: 15.10.2002